For as long as there have been services, computational or otherwise, there has been a desire to have a convenient medium to expose and discover service offerings. Since the early days of distributed computing environment (DCE) and common object request broker architecture (CORBA), there have been directory servers and trading services, the latter being an attempt at mimicking a sort of yellow pages for distributed objects, the yellow pages being the archetypal medium for finding services by various criteria when a direct or symbolic reference to the service does not exist. More recently there have been efforts, such as Java naming and directory interface (JNDI) for Java remote objects, and universal description discovery and integration (UDDI) for web services, aimed at defining a standard approach for the exchange of computational services. At the same time, numerous commercial web services directories and registries have been created in an effort to capitalize on the potential of a services marketplace. Some web services intermediaries use relatively simplistic search and categorization algorithms despite the availability of more advanced features in specifications like UDDI.
Traditional services catalogs or registries, such as UDDI, are intended to store metadata for search oriented architecture (SOA) services retrieval. The Web Service Modeling Ontology (WSMO) is an effort to fill the semantic gap between different services metadata by adding semantic capabilities to the web services description which was initially based on a syntactic interchange approach only. Thus, WSMO, web ontology language-s (OWL-S) and other semantic web services based frameworks and languages attempt to alleviate the search and composition of services.
Other marketplace service matching approaches rely on artificial intelligence (AI) planning algorithms and apply backward chaining to derive suitable matching and composition from a certain goal. Often such approaches leverage formal descriptions of service functionality as proposed by the World Wide Web Consortium (W3C), OWL-S or WSMO. Compositions that also consider information about the (temporal) behavior of a service and quality of service (QoS) based matching and composition algorithms have also been proposed.